﻿using System;
using System.Runtime.Serialization;

namespace NCommet.Core.Exceptions
{
    /// <summary>
    /// <c>CoreException</c> is an exception thrown from the core elements of NCommet.
    /// </summary>
    [Serializable]
    public class CoreException : ApplicationException
    {
        /// <summary>
        /// Creates a new <c>CoreException</c>.
        /// </summary>
        public CoreException() { }

        /// <summary>
        /// Creates a new <c>CoreException</c>.
        /// </summary>
        /// <param name="message">The exception message.</param>
        public CoreException(string message) : base(message) { }

        /// <summary>
        /// Creates a new <c>CoreException</c>.
        /// </summary>
        /// <param name="message">The exception message.</param>
        /// <param name="inner">The inner exception.</param>
        public CoreException(string message, Exception inner) : base(message, inner) { }
        protected CoreException(
          SerializationInfo info, StreamingContext context)
            : base(info, context) { }
    }
}
